package com.itheima.day08;

import java.util.Random;
import java.util.Scanner;

public class 验证码 {
    public static void main(String[] args) {
       while (true){
           //1. 生成验证码
           String realCode = getVerifyCode();
           System.out.println("当前验证码:" + realCode);

           //2. 键盘录入验证码
           Scanner sc = new Scanner(System.in);
           System.out.println("请输入:");
           String inputCode = sc.next();

           //3. 忽略大小写比较两者
           if (inputCode.equalsIgnoreCase(realCode)){
               System.out.println("验证通过...");
               break;
           }else{
               System.out.println("验证失败...");
           }
       }

    }

    //1. 定义一个方法，专门用于生成随机验证码
    public static String getVerifyCode(){
        //1. 定义一个大的字符串,将验证码可能取到的字符统一管理起来
        String allCode = "abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";  //[0,61]

        //2. 随机生成一个allCode的索引值
        Random r = new Random();
        //定义一个StringBuilder容器
        StringBuilder sb = new StringBuilder();

        for (int i = 1; i <= 4 ; i++) {
            int index = r.nextInt(allCode.length());      //[0,allCode.length() -1]
            //3. 根据索引获取对应索引位置的字符
            char code = allCode.charAt(index);
            //4. 将取到的字符存入sb中
            sb.append(code);
        }

        //返回sb即可
        return sb.toString();
    }
}

